System and method for producing high volume flash memory cards

ABSTRACT

A system for producing high volume flash memory cards includes a processing unit, a PC interface for connecting to an external PC, a PC drive circuit connected to the PC interface and the processing unit, a card interface for connecting to an external flash memory card, and a card drive circuit connected to the card interface and the processing unit. The PC drive circuit realizes communication between the PC and the processing unit. The card drive circuit realizes communication between the flash memory card and the processing unit. The processing unit receives command or data from the PC interface, and sends card re-initialization command or data to the flash memory card via the card interface.

RELATED APPLICATIONS

This application is a continuation-in-part (CIP) of U.S. patent application for “High Volume Testing for USB Electronic Data Flash Card”, U.S. application Ser. No. 11/626,347, filed Jan. 23, 2007, which is a continuation-in-part of U.S. patent application for “ELECTRONIC DATA STORAGE MEDIUM WITH FINGERPRINT VERIFICATION CAPABILITY”, U.S. application Ser. No. 09/478,720, filed Jan. 6, 2000, and “Flash Memory Controller For Electronic Data Flash Card”, U.S. application Ser. No. 11/466,759, filed on Aug. 23, 2006, which is a CIP of “System and Method for Controlling Flash Memory”, U.S. application Ser. No. 10/789,333, filed on Feb. 26, 2004, now abandoned. This application is also related to “Integrated circuit card with fingerprint verification capability” application Ser. No. 09/366,976, filed on Aug. 4, 1999, now U.S. Pat. No. 6,547,130, all of which are incorporated herein as though set forth in full.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention is about producing and/or updating flash memory card technology, in particular to a system and method for producing high volume flash memory card, which can be used for updating or repairing flash memory card as well.

2. Description of Related Art

The NAND flash memory cards, such as SD (Secure Digital), MMC (Multi-Media Card), SM (Smart Media), MS (Memory Stick) and CF (Compact Flash) cards are popularly applied in digital camera, mobile phone, PDA, MP3/MP4 player for their small volume, large capacity and high performance/price ratio. The structure of a normal flash memory card includes the following devices:

(1) Interface unit: usually is an interface connector or golden finger complied with the flash memory card's specification.

(2) Controller unit: provides at least one flash memory card signal interface and one storage media interface, completing the functionality of data transfer, card information configuration, card status report, etc.

(3) Storage media: provides the storage space for the memory card in which data as well as the executable program code are stored. The storage media can be NAND flash, NOR flash, EEPROM, EPROM, etc. Typically, as the names is, the storage media of a flash memory card is of NAND flash for its small volume, large capacity and high performance/price ratio.

(4) PCB (Printed Circuit Board): supports the above devices and connection among them for making up a memory card's structure.

With the fast changing market, there appears more and more different electronic consumer product, which also causes more and more compatibility problems to the appertain product, such as flash memory cards. Thus card manufacturer must settle the compatibility problem as fast as they can so that their production can meet the fast changing market's requirement.

To solve these problems, at the present market, most of the flash memory cards are provided with a RAM basing strategy. That is to say, the controller of the flash memory card has hardware architecture, but the main function was realized by software which is stored outside of the controller. This strategy has the advantages that when the flash memory card encounters the compatibility problem, what the card manufacturer needs to do is to just modify the software outside of the controller, without having to modify the controller's hardware.

For the flash memory card having the nonvolatile storage media, the firmware code is usually stored in the nonvolatile storage media. When being powered on, the controller firstly reads out the firmware code from the storage media and then executes the firmware. This strategy is very flexible so that it can meet the fast changing market. On the other hand, card manufacturer can fix an error card by the way of updating card's firmware, so they save the cost as well.

Since the firmware is saved outside storage media, the card manufacturers need to download the firmware code to the outside storage media and check them after they finished assembling the card.

For a NAND flash card, the NAND flash usually has 2% of bad blocks and these bad blocks are randomly distributed in the whole storage area. Therefore, the card manufacturers need to scan and pick out the bad blocks of the flash to avoid the data stored into the bad blocks, so that the product can meet the high reliability of performance.

As above said, after assembling the card, the card manufacturer needs to download the firmware to nonvolatile storage media, scan and pick out the bad blocks of the NAND flash to ensure the storage capacity and functionality. This process is known as “card re-initialization”. To a memory card with any errors, the card manufacturer needs to download the fixed new firmware to replace the old firmware, so that the card can be reusable. This process is known as “card repairing”. It is not advisable for people to complete the card re-initialization or card repairing process manually one by one. This cannot meet the requirement of mass production. Therefore it is desirable to continue improving the volume production methodology for the above flash memory cards.

SUMMARY OF THE INVENTION

The objective of the present invention is to provide a system and method for producing high volume flash memory cards, which is completely automatic and applicable for mass production of flash memory card.

According to one aspect, the present invention which achieves the objectives for producing high volume flash memory cards, which includes: a processing unit; a PC interface for connecting to an external PC; a PC drive circuit connected to the PC interface and the processing unit for realizing communication between the PC and the processing unit; at least one card interface for connecting to an external flash memory card; and at least one card drive circuit connected to the card interface and the processing unit for realizing communication between the flash memory card and the processing unit. The processing unit receives command or data from the PC interface, and sends card re-initialization command or data to the flash memory card via the card interface.

According to another aspect, the present invention which achieves the object relates to a method for producing high volume flash memory cards, which includes the steps of: (A) configuring options for card re-initialization on the PC; (B) inserting at least one flash memory card into the card interface; (C) receiving a start command from the PC and checking whether the inserted flash memory card is the same type as what selected in the configured option, and if it is, step (D) is executed; (D) checking whether to erase code area of the flash memory card, and if selected, step (E) is executed, otherwise step (F) is executed; (E) erasing the code area of the flash memory card; (F) initializing the flash memory card by writing card information to the flash memory card; (G) receiving firmware code from the PC interface, and saving the firmware code in the processing unit; (H) writing the firmware code into the flash memory card and checking correction; and (I) scanning and excluding bad blocks of the flash memory card.

Other objectives, advantages, and novel features of the invention will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is the block diagram of the system for producing high volume flash memory cards in accordance with the present invention;

FIG. 2 is the block diagram of the processing unit;

FIG. 3 shows an application instance of the present invention;

FIG. 4 shows another application instance of the present invention;

FIG. 5 shows a further application instance of the present invention; and

FIG. 6 is a flow chart of the method for producing high volume flash memory cards in accordance with the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The invention is about a system and method for mass production of flash memory card, applicable for high volume of card re-initialization and card repairing. The system is made of hardware entity and its corresponding man-machine conversation software. The man-machine conversation software runs on a PC (Personal Computer), providing an operation and configuration platform for customer. The hardware entity includes, as shown in FIG. 1, a processing unit 11, a PC drive circuit 12, a PLC (Programmable Logic Control) drive circuit 13, a card drive circuit 14, a PC interface 15, a PLC interface 16, and a card interface 17. The PC drive circuit 12 is a personal computer interface's drive circuit connected between the PC interface 15 and the processing unit 11. The PLC drive circuit 13 is a programmable logic control interface's drive circuit connected between the processing unit 11 and the PLC interface 16. The card drive circuit 14 is connected between the processing unit 11 and the card interface 17, and is used as external flash memory card's host. The PC interface 15 is provided for connecting to an external PC 18. The PLC interface 16 is provided for connecting to external manipulator. The card interface 17 is provided for connecting to external flash memory card 19 under test.

The processing unit 11, as shown in FIG. 2, further includes: a CPU (Central Processing Unit) 21 and its accessorial program storage memory 22, working storage memory 23 and nonvolatile storage memory 24. The CPU 21 connects to the memories 22, 23 and 24 via data and address bus. The program storage memory 22 commonly uses ROM (Read Only Memory) for program code storage. The working storage memory 23 commonly uses RAM (Random Read-writable Memory) for data and program storage when working. The nonvolatile storage memory 24 commonly uses nonvolatile storage media, such as EPROM, EEPROM, NAND flash, etc., for storage of firmware and customer's data which need to be saved after powered off.

The CPU 21 executes the firmware code stored in the memories 22, 23 and 24, receives the command or data from the PC interface, sends the card re-initialization command or data to the external flash memory card 19 via the card interface 17, sends the operation signal to the external manipulator via the PLC interface 16 as well.

The PC interface 15 connects to external PC 18 by cable. In common use, this PC interface 15 may be serial port, parallel port, USB, PCMCIA or a mixed interface as well.

The PC drive circuit 12 realizes the communication between the processing unit 11 and the external PC 18 via the PC interface 15. The PC drive circuit 12 implements function of interface drive circuit and logic control. If PC interface 15 is a serial port, the PC drive circuit 12 implements the function of serial port's drive and logic control. So do other interfaces. The PC drive circuit 12 may be a mixed interface drive circuits as well, that is to say, it can meet multi-interface's specification, and user may select one of them to use.

The PLC interface 16 provides the connection between the processing unit 11 and the external manipulator, completing the fully automatic operation of card re-initialization and/or card repairing.

The PLC drive circuit 13 realizes the communication between the external manipulator and the present system via the PLC interface 16. The PLC drive circuit 13 implements the interface drive circuit and logic control. The operation programs for the external manipulator is compiled and packed with the firmware code. The CPU 21 executes the firmware code, and outputs the driving signals on the PLC interface 16 so that the external manipulator will complete the operation.

The card interface 17 provides the socket of the external flash memory card 19. The external flash memory card 19 may be SD and/or MMC and/or SM and/or MC and/or CF and/or other flash memory card. This card interface 17 can be expanded to n card interfaces, as shown in FIG. 3, as well as, an application instance of this invention, where n is a positive integer.

The card drive circuit 14 is used as a host of the external flash memory card 19. It completes the communication between the external flash memory card 19 and the processing unit 11. The main function of this card drive circuit 14 is translating the command from the CPU 11 to the type of command to the flash memory card 19 that complies with the flash memory card's specification. Thus the flash memory card 19 can accept the command and do the required operation. These required operation commands include code downloading, parameter setting, scan blocks and backup BBT, formatting card, etc., used for card re-initialization and card repairing. This card drive circuit 14 can also be expanded to m card drive circuits, as shown in FIG. 4, as well as, another application instance of this invention, where m is a positive integer.

According to FIG. 3 and FIG. 4, another application instance of this invention is deducted, as shown in FIG. 5, in which the card drive circuit 14 is expanded to n card drive circuits, and the card interface 17 corresponding to each card drive circuit 14 is also expanded to x (y, . . . , z) card interfaces, where n, x, y, z is a positive integer.

The invention provides a man-machine conversation software interface via the PC interface 15, so that card manufacturer can configure and send command for card re-initialization and/or card repairing, such as selecting the code that needs to be downloaded to the flash memory card 19, whether using encrypt way when downloading code, whether erasing before downloading the code, whether formatting after card re-initialization and/or card repairing. These configuration options can be changed or set to default by the card manufacturer via the man-machine conversation software interface.

With the man-machine conversation software interface, the card manufacturer configures the parameter on the PC 18. The configuration options include selecting the code that need to be downloaded, whether using encrypt way when downloading, whether erasing before downloading the code, whether formatting after card re-initialization and/or card repairing. After the step of configuration, the card manufacturer sends the start command to the system. The processing unit 11 receives the start command from the PC interface 15. Then the CPU 21 sends card re-initialization commands to the flash memory card 19 via the card drive circuit 14 and card interface 17. The card drive circuit 14 translates the commands to the type of commands that comply with the flash memory card's specification. The external flash memory card 19 receives and responds these commands, completing the relative cooperation.

FIG. 6 shows the flow chart of the process that producing card. The process begins by waiting for the insertion of an external flash memory card (S601). When a flash memory card is inserted into the card interface 17, it waits for the start command from the PC (S602). As described above, the card manufacturer will send the start command after completing all the configuration options such as selecting the code that need to be downloaded, using encrypt way when downloading, erasing before downloading the code, and formatting after card re-initialization and/or card repairing.

After receiving the start command from the PC, the flash memory card checks the bus status to confirm whether the type of the flash memory card under test is the same as what the card manufacturer selected (S603). If it is not fit, an error is reported to the card manufacturer. If it is, step S604 is executed.

In step S604, it checks whether the card manufacturer selects erase code area. If selected, step S605 is executed; if not, step S606 is executed. For a used card with an old firmware version, step S604 must be set to affirmative, otherwise the new code will be written in error.

In step S605, the firmware code area of the flash memory card is erased.

In step S606, the flash memory card is initialized. Card initialization process is writing card information, such as vendor symbol, card serial number, software version, hardware version, etc., to the external flash memory card.

In step S607, the selected firmware code is received from the PC interface 15, and saved to the storage memory 22, 23 or 24.

In step S608, the firmware code is written into the flash memory card and the correction is checked.

In step S609, it scans and excludes the bad blocks of the flash memory card.

In step S610, it checks whether to format the flash memory card. If so, the flash memory card is formatted (step S611); otherwise, the card re-initialization process is ended, and card re-initialization completion is reported to the card manufacturer.

In the system, the firmware code can be updated by the CPU 21. The firmware code is stored in the nonvolatile storage memory 24. When it needs to be updated, the CPU 21 will write the new firmware code into the code area of the nonvolatile storage memory 24 to replace the old code. Thus when the system is rebooted, the CPU 21 will execute the new firmware code in the nonvolatile storage memory 24.

The system can be used to repair a flash memory card as well. The flow chart of the card repairing is similar to the flow chart of card re-initialization, as shown in FIG. 6. To a flash memory card which needs to be repaired, its code area must be written already, so in step S604, it must select erase code area when card repairing.

Although the present invention has been explained in relation to its preferred embodiment, it is to be understood that many other possible modifications and variations can be made without departing from the spirit and scope of the invention as hereinafter claimed. 

1. A system for producing high volume flash memory cards, comprising: a processing unit; a PC interface for connecting to an external PC; a PC drive circuit connected to the PC interface and the processing unit for realizing communication between the PC and the processing unit; at least one card interface for connecting to an external flash memory card; and at least one card drive circuit connected to the card interface and the processing unit for realizing communication between the flash memory card and the processing unit, wherein the processing unit receives command or data from the PC interface, and sends card re-initialization command or data to the flash memory card via the card interface.
 2. The system as claimed in claim 1, wherein the processing unit further comprises: a program storage memory for storing program code; a working storage memory for storing data and program when working; and a nonvolatile storage memory for storing firmware code and data required to be saved after powered off; and a CPU connected to the program storage memory, working storage memory and nonvolatile storage memory via data and address bus, wherein the CPU executes the program code and firmware code stored in the program storage memory and nonvolatile storage memory, receives the command or data from the PC interface, and sends the card re-initialization command or data to the flash memory card via the card interface.
 3. The system as claimed in claim 2, wherein the program storage memory commonly uses ROM (Read Only Memory) for program code storage.
 4. The system as claimed in claim 2, wherein the working storage memory uses RAM (Random Read-writable Memory) for data and program storage.
 5. The system as claimed in claim 2, wherein the nonvolatile storage memory uses nonvolatile storage media for storage of firmware code and data.
 6. The system as claimed in claim 2, wherein the PC drive circuit implements function of interface drive circuit and logic control.
 7. The system as claimed in claim 2, wherein the card drive circuit is provided for translating command from the CPU to the type of command to the flash memory card that complies with the flash memory card's specification.
 8. The system as claimed in claim 2, wherein the at least one card interface includes a plurality of card interfaces.
 9. The system as claimed in claim 2, wherein the at least one card drive circuit includes a plurality of card drive circuits.
 10. The system as claimed in claim 2, wherein the at least one card interface includes a plurality of card interfaces.
 11. The system as claimed in claim 2, wherein the at least one card drive circuit includes a plurality of card drive circuits, each being connected to a plurality of card interfaces.
 12. The system as claimed in claim 2, wherein the PC interface is selectively to be a serial port, a parallel port, a USB, a PCMCIA and a mixed interface.
 13. The system as claimed in claim 2, wherein the flash memory card is selectively to be an SD card, an MMC card, an SM card, an MC card, and a CF card.
 14. The system as claimed in claim 2, further comprising: a PLC interface for connecting to external manipulator; and a PLC drive circuit connected to the PLC interface and the processing unit for realizing communication between the manipulator and the processing unit.
 15. The system as claimed in claim 14, wherein the CPU sends operation signal to the manipulator via the PLC interface.
 16. The system as claimed in claim 14, wherein the PLC interface provides connection between the processing unit and the manipulator.
 17. The system as claimed in claim 14, wherein the PLC drive circuit implements the interface drive circuit and logic control.
 18. In a system including a processing unit, a PC interface for connecting to an external PC, a PC drive circuit connected to the PC interface and the processing unit for realizing communication between the PC and the processing unit, at least one card interface for connecting to an external flash memory card, and at least one card drive circuit connected to the card interface and the processing unit for realizing communication between the flash memory card and the processing unit, a method for producing high volume flash memory cards comprising the steps of: (A) configuring options for card re-initialization on the PC; (B) inserting at least one flash memory card into the card interface; (C) receiving a start command from the PC and checking whether the inserted flash memory card is the same type as what selected in the configured option, and if it is, step (D) is executed; (D) checking whether to erase code area of the flash memory card, and if selected, step (E) is executed, otherwise step (F) is executed; (E) erasing the code area of the flash memory card; (F) initializing the flash memory card by writing card information to the flash memory card; (G) receiving firmware code from the PC interface, and saving the firmware code in the processing unit; (H) writing the firmware code into the flash memory card and checking correction; and (I) scanning and excluding bad blocks of the flash memory card.
 19. The method as claimed in claim 18, further comprising a step of formatting the flash memory card.
 20. The method as claimed in claim 18, further comprising a step of updating the firmware code by the processing unit. 